# -*- coding: utf-8 -*-
'''
    说明：
        针对 if-else 的三元表达式

    结构：
        返回结果1 if 条件 else 返回结果2

    注意：
        建议是将返回结果1和返回结果2赋值到临时变量中，避免因为字符太长导致代码混乱
'''
# 代码1：if-else 的三元表达式使用

x = 5
a = 1 if x > 5 else 0
print(a)

# 代码2（提升）：运算顺序
x = [2, 6]
a = 3.5 + -3 if x[0] < 5 else 6
b = 3.5 + -3 if x[1] < 5 else 6
print(a, b)
# 第一个条件结果为 True（2 < 5 = True），返回的结果为 3.5 + -3
# 第二个条件结果为 False（6 < 5 = False），返回结果为 6，而不是 3.5 + 6
# 从这个案例可以看出，三元表达式是先将 返回结果1 和 返回结果2 先行处理，后通过表达式返回对应的结果
# 如果需要实现返回的结果加上3.5的效果，需要添加括号对运算的优先级进行调整
a = 3.5 + (-3 if x[1] < 5 else 6)